var Plugin = require('../plugin');

//
// [Usage]
//
// https://github.com/skygragon/leetcode-cli-plugins/blob/master/docs/company.md
//
var plugin = new Plugin(100, 'company', '2017.12.18',
    'Plugin to query by company for free user.');

// NOTE: those data is collected from different websites that has similar questions:
// * careercup.com
// * lintcode.com
// * 1point3acres.com
// * other results from google search
var COMPONIES = {
  '1': ['adobe', 'airbnb', 'amazon', 'apple', 'bloomberg', 'dropbox', 'facebook', 'linkedin', 'microsoft', 'uber', 'yahoo', 'yelp'],
  '2': ['adobe', 'airbnb', 'amazon', 'bloomberg', 'microsoft'],
  '3': ['adobe', 'amazon', 'bloomberg', 'yelp'],
  '4': ['adobe', 'apple', 'dropbox', 'google', 'microsoft', 'yahoo', 'zenefits'],
  '5': ['amazon', 'bloomberg', 'microsoft'],
  '7': ['apple', 'bloomberg'],
  '8': ['amazon', 'bloomberg', 'microsoft', 'uber'],

  '10': ['airbnb', 'facebook', 'google', 'twitter', 'uber'],
  '11': ['bloomberg'],
  '12': ['twitter'],
  '13': ['bloomberg', 'facebook', 'microsoft', 'uber', 'yahoo'],
  '14': ['yelp'],
  '15': ['adobe', 'amazon', 'bloomberg', 'facebook', 'microsoft'],
  '16': ['bloomberg'],
  '17': ['amazon', 'dropbox', 'facebook', 'google', 'uber'],
  '18': ['linkedin'],
  '20': ['airbnb', 'amazon', 'bloomberg', 'facebook', 'google', 'microsoft', 'twitter', 'zenefits'],
  '21': ['amazon', 'apple', 'linkedin', 'microsoft'],
  '22': ['google', 'uber', 'zenefits'],
  '23': ['airbnb', 'amazon', 'facebook', 'google', 'linkedin', 'microsoft', 'twitter', 'uber'],
  '24': ['bloomberg', 'microsoft', 'uber'],
  '25': ['facebook', 'microsoft'],
  '26': ['bloomberg', 'facebook', 'microsoft'],
  '28': ['apple', 'facebook', 'microsoft', 'pocketgems'],
  '31': ['google'],
  '33': ['bloomberg', 'facebook', 'linkedin', 'microsoft', 'uber'],
  '34': ['linkedin'],
  '36': ['apple', 'snapchat', 'uber'],
  '37': ['snapchat', 'uber'],
  '38': ['facebook'],
  '39': ['snapchat', 'uber'],
  '40': ['snapchat'],
  '42': ['amazon', 'apple', 'bloomberg', 'google', 'twitter', 'zenefits'],
  '43': ['facebook', 'twitter'],
  '44': ['facebook', 'google', 'snapchat', 'twitter', 'twosigma'],
  '46': ['linkedin', 'microsoft'],
  '47': ['linkedin', 'microsoft'],
  '48': ['amazon', 'apple', 'microsoft'],
  '49': ['amazon', 'bloomberg', 'facebook', 'uber', 'yelp'],
  '50': ['bloomberg', 'facebook', 'google', 'linkedin'],
  '52': ['zenefits'],
  '53': ['bloomberg', 'linkedin', 'microsoft'],
  '54': ['google', 'microsoft', 'uber'],
  '55': ['microsoft'],
  '56': ['bloomberg', 'facebook', 'google', 'linkedin', 'microsoft', 'twitter', 'yelp'],
  '57': ['facebook', 'google', 'linkedin'],
  '60': ['twitter'],
  '62': ['bloomberg'],
  '63': ['bloomberg'],
  '65': ['linkedin'],
  '66': ['google'],
  '67': ['facebook'],
  '68': ['airbnb', 'facebook', 'linkedin'],
  '69': ['apple', 'bloomberg', 'facebook'],
  '70': ['adobe', 'apple'],
  '71': ['facebook', 'microsoft'],
  '73': ['amazon', 'microsoft'],
  '75': ['facebook', 'microsoft', 'pocketgems'],
  '76': ['facebook', 'linkedin', 'snapchat', 'uber'],
  '78': ['amazon', 'bloomberg', 'facebook', 'uber'],
  '79': ['bloomberg', 'facebook', 'microsoft'],
  '80': ['facebook'],
  '85': ['facebook'],
  '88': ['bloomberg', 'facebook', 'microsoft'],
  '89': ['amazon'],
  '90': ['facebook'],
  '91': ['facebook', 'microsoft', 'uber'],
  '94': ['microsoft'],
  '96': ['snapchat'],
  '98': ['amazon', 'bloomberg', 'facebook', 'microsoft'],

  '100': ['bloomberg'],
  '101': ['bloomberg', 'linkedin', 'microsoft'],
  '102': ['amazon', 'apple', 'bloomberg', 'facebook', 'linkedin', 'microsoft'],
  '103': ['bloomberg', 'linkedin', 'microsoft'],
  '104': ['apple', 'linkedin', 'uber', 'yahoo'],
  '105': ['bloomberg'],
  '106': ['microsoft'],
  '108': ['airbnb'],
  '109': ['zenefits'],
  '110': ['bloomberg'],
  '112': ['microsoft'],
  '113': ['bloomberg'],
  '114': ['microsoft'],
  '116': ['microsoft'],
  '117': ['bloomberg', 'facebook', 'microsoft'],
  '118': ['apple', 'twitter'],
  '119': ['amazon'],
  '121': ['amazon', 'bloomberg', 'facebook', 'microsoft', 'uber'],
  '122': ['bloomberg'],
  '124': ['baidu', 'microsoft'],
  '125': ['facebook', 'microsoft', 'uber', 'zenefits'],
  '126': ['amazon', 'yelp'],
  '127': ['amazon', 'facebook', 'linkedin', 'snapchat', 'yelp'],
  '128': ['facebook', 'google'],
  '131': ['bloomberg'],
  '133': ['facebook', 'google', 'pocketgems', 'uber'],
  '136': ['airbnb', 'palantir'],
  '138': ['amazon', 'bloomberg', 'microsoft', 'uber'],
  '139': ['amazon', 'bloomberg', 'facebook', 'google', 'pocketgems', 'uber', 'yahoo'],
  '140': ['dropbox', 'google', 'snapchat', 'twitter', 'uber'],
  '141': ['amazon', 'bloomberg', 'microsoft', 'yahoo'],
  '146': ['amazon', 'bloomberg', 'facebook', 'google', 'microsoft', 'palantir', 'snapchat', 'twitter', 'uber', 'yahoo', 'zenefits'],
  '149': ['apple', 'linkedin', 'twitter'],
  '150': ['linkedin'],
  '151': ['apple', 'bloomberg', 'microsoft', 'snapchat', 'yelp'],
  '152': ['linkedin'],
  '153': ['microsoft'],
  '155': ['amazon', 'bloomberg', 'google', 'snapchat', 'uber', 'zenefits'],
  '156': ['linkedin'],
  '157': ['facebook'],
  '158': ['bloomberg', 'facebook', 'google'],
  '159': ['google'],
  '160': ['airbnb', 'amazon', 'bloomberg', 'microsoft'],
  '161': ['facebook', 'snapchat', 'twitter', 'uber'],
  '162': ['google', 'microsoft'],
  '163': ['google'],
  '165': ['apple', 'microsoft'],
  '166': ['google'],
  '167': ['amazon'],
  '168': ['facebook', 'microsoft', 'zenefits'],
  '169': ['adobe', 'zenefits'],
  '170': ['linkedin'],
  '171': ['microsoft', 'uber'],
  '172': ['bloomberg'],
  '173': ['facebook', 'google', 'linkedin', 'microsoft'],
  '174': ['microsoft'],
  '186': ['amazon', 'microsoft', 'uber'],
  '187': ['linkedin'],
  '189': ['amazon', 'bloomberg', 'microsoft'],
  '190': ['airbnb', 'apple'],
  '191': ['apple', 'microsoft'],
  '195': ['adobe'],
  '198': ['airbnb', 'linkedin'],
  '199': ['amazon'],
  '200': ['amazon', 'facebook', 'google', 'microsoft', 'zenefits'],
  '202': ['airbnb', 'twitter', 'uber'],
  '204': ['amazon', 'microsoft'],
  '205': ['linkedin'],
  '206': ['adobe', 'amazon', 'apple', 'bloomberg', 'facebook', 'microsoft', 'snapchat', 'twitter', 'uber', 'yahoo', 'yelp', 'zenefits'],
  '207': ['apple', 'uber', 'yelp', 'zenefits'],
  '208': ['bloomberg', 'facebook', 'google', 'microsoft', 'twitter', 'uber'],
  '209': ['facebook'],
  '210': ['facebook', 'zenefits'],
  '211': ['facebook'],
  '212': ['airbnb', 'google', 'microsoft'],
  '213': ['microsoft'],
  '214': ['google', 'pocketgems'],
  '215': ['amazon', 'apple', 'bloomberg', 'facebook', 'microsoft', 'pocketgems'],
  '217': ['airbnb', 'palantir', 'yahoo'],
  '218': ['facebook', 'google', 'microsoft', 'twitter', 'yelp'],
  '219': ['airbnb', 'palantir'],
  '220': ['airbnb', 'palantir'],
  '221': ['airbnb', 'apple', 'facebook'],
  '224': ['google'],
  '225': ['bloomberg'],
  '227': ['airbnb'],
  '228': ['google'],
  '229': ['zenefits'],
  '230': ['bloomberg', 'google', 'uber'],
  '231': ['google'],
  '232': ['bloomberg', 'microsoft'],
  '234': ['amazon', 'facebook'],
  '235': ['amazon', 'facebook', 'microsoft', 'twitter'],
  '236': ['amazon', 'apple', 'facebook', 'linkedin', 'microsoft'],
  '237': ['adobe', 'apple', 'microsoft'],
  '238': ['amazon', 'apple', 'facebook', 'linkedin', 'microsoft'],
  '239': ['amazon', 'google', 'zenefits'],
  '240': ['amazon', 'apple', 'google'],
  '242': ['amazon', 'uber', 'yelp'],
  '243': ['linkedin'],
  '244': ['linkedin'],
  '245': ['linkedin'],
  '246': ['google'],
  '247': ['google'],
  '249': ['google', 'uber'],
  '251': ['airbnb', 'google', 'twitter', 'zenefits'],
  '252': ['facebook'],
  '253': ['facebook', 'google', 'snapchat'],
  '254': ['linkedin', 'uber'],
  '255': ['zenefits'],
  '256': ['linkedin'],
  '257': ['apple', 'facebook', 'google'],
  '258': ['adobe', 'microsoft'],
  '259': ['google'],
  '261': ['facebook', 'google', 'zenefits'],
  '262': ['uber'],
  '265': ['facebook'],
  '266': ['bloomberg', 'google', 'uber'],
  '268': ['bloomberg', 'microsoft'],
  '269': ['airbnb', 'facebook', 'google', 'pocketgems', 'snapchat', 'twitter'],
  '270': ['google', 'microsoft', 'snapchat'],
  '271': ['google'],
  '272': ['google'],
  '273': ['facebook', 'microsoft'],
  '274': ['bloomberg', 'facebook', 'google'],
  '275': ['facebook'],
  '276': ['google'],
  '277': ['facebook', 'linkedin'],
  '278': ['facebook'],
  '279': ['google'],
  '280': ['google'],
  '281': ['google'],
  '282': ['facebook', 'google'],
  '283': ['bloomberg', 'facebook'],
  '284': ['apple', 'google', 'yahoo'],
  '285': ['facebook', 'microsoft', 'pocketgems'],
  '286': ['facebook', 'google'],
  '287': ['bloomberg'],
  '288': ['google'],
  '289': ['dropbox', 'google', 'snapchat', 'twosigma'],
  '290': ['dropbox', 'uber'],
  '291': ['dropbox', 'uber'],
  '292': ['adobe'],
  '293': ['google'],
  '294': ['google'],
  '295': ['google'],
  '296': ['twitter'],
  '297': ['amazon', 'bloomberg', 'facebook', 'google', 'linkedin', 'microsoft', 'uber', 'yahoo'],
  '298': ['google'],
  '300': ['microsoft'],
  '301': ['facebook'],
  '302': ['google'],
  '303': ['palantir'],
  '305': ['google'],
  '308': ['google'],
  '309': ['google'],
  '310': ['google'],
  '311': ['facebook', 'linkedin'],
  '312': ['google', 'snapchat'],
  '313': ['google'],
  '314': ['facebook', 'google', 'snapchat'],
  '315': ['google'],
  '316': ['google'],
  '317': ['google', 'zenefits'],
  '318': ['google'],
  '320': ['google'],
  '321': ['google'],
  '323': ['google', 'twitter'],
  '324': ['google'],
  '325': ['facebook', 'palantir'],
  '326': ['google'],
  '327': ['google'],
  '329': ['google'],
  '330': ['google'],
  '331': ['google'],
  '332': ['google'],
  '333': ['microsoft'],
  '334': ['facebook'],
  '336': ['airbnb', 'google'],
  '337': ['uber'],
  '339': ['linkedin'],
  '340': ['google'],
  '341': ['facebook', 'google', 'twitter'],
  '342': ['twosigma'],
  '345': ['google'],
  '346': ['google'],
  '347': ['pocketgems', 'yelp'],
  '348': ['google', 'microsoft'],
  '349': ['twosigma'],
  '351': ['google'],
  '353': ['google'],
  '354': ['google'],
  '355': ['amazon', 'twitter'],
  '356': ['google'],
  '357': ['google'],
  '358': ['google'],
  '359': ['google'],
  '360': ['google'],
  '361': ['google'],
  '362': ['dropbox', 'google'],
  '363': ['google'],
  '364': ['linkedin'],
  '365': ['microsoft'],
  '366': ['linkedin'],
  '367': ['linkedin'],
  '368': ['google'],
  '369': ['google'],
  '370': ['google'],
  '373': ['google', 'uber'],
  '374': ['google'],
  '375': ['google'],
  '377': ['facebook', 'google', 'snapchat'],
  '378': ['google', 'twitter'],
  '379': ['google'],
  '380': ['amazon', 'facebook', 'google', 'pocketgems', 'twitter', 'uber', 'yelp'],
  '381': ['yelp'],
  '382': ['google'],
  '383': ['apple'],
  '385': ['airbnb'],
  '386': ['bloomberg'],
  '387': ['amazon', 'bloomberg', 'microsoft'],
  '388': ['google'],
  '389': ['google'],
  '391': ['google'],
  '393': ['google'],
  '394': ['google', 'yelp'],
  '395': ['baidu'],
  '396': ['amazon'],
  '397': ['baidu', 'google'],
  '398': ['facebook'],
  '399': ['google'],
  '400': ['google'],
  '401': ['google'],
  '402': ['google', 'snapchat'],
  '403': ['snapchat'],
  '404': ['facebook'],
  '406': ['google'],
  '407': ['google', 'twitter'],
  '408': ['google'],
  '409': ['google'],
  '410': ['baidu', 'facebook'],
  '411': ['google'],
  '413': ['baidu'],
  '414': ['amazon'],
  '415': ['airbnb', 'google'],
  '416': ['ebay'],
  '417': ['google'],
  '418': ['google'],
  '419': ['microsoft'],
  '421': ['google'],
  '422': ['google'],
  '424': ['pocketgems'],
  '425': ['google'],
  '432': ['uber'],
  '433': ['twitter'],
  '438': ['amazon'],
  '439': ['snapchat'],
  '442': ['pocketgems'],
  '443': ['bloomberg', 'microsoft', 'snapchat', 'yelp'],
  '444': ['google'],
  '445': ['bloomberg', 'microsoft'],
  '446': ['baidu'],
  '447': ['google'],
  '448': ['google'],
  '449': ['amazon'],
  '450': ['uber'],
  '451': ['amazon', 'google'],
  '452': ['microsoft'],
  '453': ['indeed'],
  '459': ['amazon', 'google'],
  '460': ['amazon', 'google'],
  '461': ['facebook'],
  '463': ['google'],
  '464': ['linkedin'],
  '465': ['google'],
  '468': ['twitter'],
  '469': ['google'],
  '471': ['google'],
  '474': ['google'],
  '475': ['google'],
  '477': ['facebook'],
  '479': ['yahoo'],
  '480': ['google'],
  '481': ['google'],
  '482': ['google'],
  '483': ['google'],
  '484': ['google'],
  '485': ['google'],
  '486': ['google'],
  '487': ['google'],
  '488': ['baidu'],
  '490': ['google'],
  '491': ['yahoo'],
  '493': ['google'],
  '494': ['facebook', 'google'],
  '498': ['google'],
  '500': ['mathworks'],
  '501': ['google'],
  '503': ['google'],
  '505': ['google'],
  '506': ['google'],
  '508': ['amazon'],
  '513': ['microsoft'],
  '514': ['google'],
  '515': ['linkedin'],
  '516': ['amazon', 'uber'],
  '517': ['amazon'],
  '520': ['google'],
  '521': ['google'],
  '522': ['google'],
  '523': ['facebook'],
  '524': ['google'],
  '525': ['facebook'],
  '526': ['google'],
  '527': ['google', 'snapchat'],
  '529': ['amazon'],
  '530': ['google'],
  '531': ['google'],
  '532': ['amazon'],
  '533': ['google'],
  '534': ['amazon', 'facebook', 'google', 'uber'],
  '535': ['amazon', 'facebook', 'google', 'uber'],
  '536': ['amazon'],
  '537': ['amazon'],
  '538': ['amazon'],
  '541': ['google'],
  '542': ['google'],
  '543': ['facebook', 'google'],
  '544': ['google'],
  '545': ['amazon', 'google'],
  '547': ['bloomberg', 'twosigma'],
  '548': ['alibaba'],
  '549': ['google'],
  '551': ['google'],
  '552': ['google'],
  '553': ['amazon'],
  '554': ['facebook'],
  '555': ['alibaba'],
  '556': ['bloomberg'],
  '557': ['zappos'],
  '560': ['google'],
  '562': ['google'],
  '563': ['indeed'],
  '564': ['yelp'],
  '566': ['mathworks'],
  '567': ['microsoft'],
  '568': ['google'],
  '569': ['google'],
  '570': ['bloomberg'],
  '572': ['ebay', 'facebook', 'google'],
  '576': ['baidu'],
  '578': ['facebook'],
  '579': ['amazon'],
  '580': ['twitter'],
  '581': ['google'],
  '582': ['bloomberg'],
  '583': ['google'],
  '585': ['twitter'],
  '586': ['twitter'],
  '587': ['google'],
  '591': ['microsoft'],
  '597': ['facebook'],
  '599': ['yelp'],
  '602': ['facebook'],
  '604': ['google'],
  '605': ['linkedin'],
  '606': ['amazon'],
  '608': ['twitter'],
  '616': ['google'],
  '617': ['amazon'],
  '621': ['facebook'],
  '631': ['microsoft'],
  '633': ['linkedin'],
  '635': ['snapchat'],
  '636': ['facebook', 'uber'],
  '637': ['facebook'],
  '638': ['google'],
  '639': ['facebook'],
  '640': ['amazon'],
  '642': ['facebook', 'microsoft'],
  '643': ['google'],
  '644': ['google'],
  '645': ['amazon'],
  '646': ['amazon'],
  '647': ['facebook', 'linkedin'],
  '648': ['uber'],
  '650': ['microsoft'],
  '651': ['google', 'microsoft'],
  '652': ['google'],
  '653': ['facebook'],
  '654': ['microsoft'],
  '656': ['google'],
  '657': ['google'],
  '658': ['google'],
  '659': ['google'],
  '661': ['amazon'],
  '662': ['amazon'],
  '663': ['amazon'],
  '665': ['google'],
  '667': ['google'],
  '668': ['google'],
  '669': ['bloomberg'],
  '670': ['facebook'],
  '671': ['linkedin'],
  '672': ['microsoft'],
  '673': ['facebook'],
  '674': ['facebook'],
  '675': ['amazon'],
  '676': ['google'],
  '679': ['google'],
  '680': ['facebook'],
  '681': ['google'],
  '682': ['amazon'],
  '683': ['google'],
  '684': ['google'],
  '685': ['google'],
  '686': ['google'],
  '687': ['google'],
  '689': ['facebook', 'google'],
  '690': ['uber'],
  '692': ['amazon', 'bloomberg', 'uber', 'yelp'],
  '694': ['amazon'],
  '698': ['linkedin'],
  '699': ['uber'],
  '711': ['amazon'],
  '714': ['bloomberg', 'facebook'],
  '716': ['linkedin'],
  '719': ['google'],
  '721': ['facebook'],
  '722': ['microsoft'],
  '725': ['amazon'],
  '726': ['google'],
  '727': ['google'],
  '729': ['google'],
  '730': ['linkedin'],
  '731': ['google']
};

var TAGS = {
  '1':    ['array','hash-table'],
  '2':    ['linked-list','math'],
  '3':    ['hash-table','two-pointers','string','sliding-window'],
  '4':    ['array','binary-search','divide-and-conquer'],
  '5':    ['string','dynamic-programming'],
  '6':    ['string'],
  '7':    ['math'],
  '8':    ['math','string'],
  '9':    ['math'],
  '10':   ['string','dynamic-programming','backtracking'],
  '11':   ['array','two-pointers'],
  '12':   ['math','string'],
  '13':   ['math','string'],
  '14':   ['string'],
  '15':   ['array','two-pointers'],
  '16':   ['array','two-pointers'],
  '17':   ['string','backtracking'],
  '18':   ['array','hash-table','two-pointers'],
  '19':   ['linked-list','two-pointers'],
  '20':   ['string','stack'],
  '21':   ['linked-list'],
  '22':   ['string','backtracking'],
  '23':   ['linked-list','divide-and-conquer','heap'],
  '24':   ['linked-list'],
  '25':   ['linked-list'],
  '26':   ['array','two-pointers'],
  '27':   ['array','two-pointers'],
  '28':   ['two-pointers','string'],
  '29':   ['math','binary-search'],
  '30':   ['hash-table','two-pointers','string'],
  '31':   ['array'],
  '32':   ['string','dynamic-programming'],
  '33':   ['array','binary-search'],
  '34':   ['array','binary-search'],
  '35':   ['array','binary-search'],
  '36':   ['hash-table'],
  '37':   ['hash-table','backtracking'],
  '38':   ['string'],
  '39':   ['array','backtracking'],
  '40':   ['array','backtracking'],
  '41':   ['array'],
  '42':   ['array','two-pointers','stack'],
  '43':   ['math','string'],
  '44':   ['string','dynamic-programming','backtracking','greedy'],
  '45':   ['array', 'greedy'],
  '46':   ['backtracking'],
  '47':   ['backtracking'],
  '48':   ['array'],
  '49':   ['hash-table','string'],
  '50':   ['math','binary-search'],
  '51':   ['backtracking'],
  '52':   ['backtracking'],
  '53':   ['array','divide-and-conquer','dynamic-programming'],
  '54':   ['array'],
  '55':   ['array','greedy'],
  '56':   ['array','sort'],
  '57':   ['array','sort'],
  '58':   ['string'],
  '59':   ['array'],
  '60':   ['math','backtracking'],
  '61':   ['linked-list','two-pointers'],
  '62':   ['array','dynamic-programming'],
  '63':   ['array','dynamic-programming'],
  '64':   ['array','dynamic-programming'],
  '65':   ['math','string'],
  '66':   ['array'],
  '67':   ['math','string'],
  '68':   ['string'],
  '69':   ['math','binary-search'],
  '70':   ['dynamic-programming'],
  '71':   ['string','stack'],
  '72':   ['string','dynamic-programming'],
  '73':   ['array'],
  '74':   ['array','binary-search'],
  '75':   ['array','two-pointers','sort'],
  '76':   ['hash-table','two-pointers','string','sliding-window'],
  '77':   ['backtracking'],
  '78':   ['array','backtracking','bit-manipulation'],
  '79':   ['array','backtracking'],
  '80':   ['array','two-pointers'],
  '81':   ['array','binary-search'],
  '82':   ['linked-list'],
  '83':   ['linked-list'],
  '84':   ['array','stack'],
  '85':   ['array','hash-table','dynamic-programming','stack'],
  '86':   ['linked-list','two-pointers'],
  '87':   ['string','dynamic-programming'],
  '88':   ['array','two-pointers'],
  '89':   ['backtracking'],
  '90':   ['array','backtracking'],
  '91':   ['string','dynamic-programming'],
  '92':   ['linked-list'],
  '93':   ['string','backtracking'],
  '94':   ['hash-table','stack','tree'],
  '95':   ['dynamic-programming','tree'],
  '96':   ['dynamic-programming','tree'],
  '97':   ['string','dynamic-programming'],
  '98':   ['tree','depth-first-search'],
  '99':   ['tree','depth-first-search'],
  '100':  ['tree','depth-first-search'],
  '101':  ['tree','depth-first-search','breadth-first-search'],
  '102':  ['tree','breadth-first-search'],
  '103':  ['stack','tree','breadth-first-search'],
  '104':  ['tree','depth-first-search'],
  '105':  ['array','tree','depth-first-search'],
  '106':  ['array','tree','depth-first-search'],
  '107':  ['tree','breadth-first-search'],
  '108':  ['tree','depth-first-search'],
  '109':  ['linked-list','depth-first-search'],
  '110':  ['tree','depth-first-search'],
  '111':  ['tree','depth-first-search','breadth-first-search'],
  '112':  ['tree','depth-first-search'],
  '113':  ['tree','depth-first-search'],
  '114':  ['tree','depth-first-search'],
  '115':  ['string','dynamic-programming'],
  '116':  ['tree','depth-first-search'],
  '117':  ['tree','depth-first-search'],
  '118':  ['array'],
  '119':  ['array'],
  '120':  ['array','dynamic-programming'],
  '121':  ['array','dynamic-programming'],
  '122':  ['array','greedy'],
  '123':  ['array','dynamic-programming'],
  '124':  ['tree','depth-first-search'],
  '125':  ['two-pointers','string'],
  '126':  ['array','string','backtracking','breadth-first-search'],
  '127':  ['breadth-first-search'],
  '128':  ['array','union-find'],
  '129':  ['tree','depth-first-search'],
  '130':  ['depth-first-search','breadth-first-search','union-find'],
  '131':  ['backtracking'],
  '132':  ['dynamic-programming'],
  '133':  ['depth-first-search','breadth-first-search','graph'],
  '134':  ['greedy'],
  '135':  ['greedy'],
  '136':  ['hash-table','bit-manipulation'],
  '137':  ['bit-manipulation'],
  '138':  ['hash-table','linked-list'],
  '139':  ['dynamic-programming'],
  '140':  ['dynamic-programming','backtracking'],
  '141':  ['linked-list','two-pointers'],
  '142':  ['linked-list','two-pointers'],
  '143':  ['linked-list'],
  '144':  ['stack','tree'],
  '145':  ['stack','tree'],
  '146':  ['design'],
  '147':  ['linked-list','sort'],
  '148':  ['linked-list','sort'],
  '149':  ['hash-table','math'],
  '150':  ['stack'],
  '151':  ['string'],
  '152':  ['array','dynamic-programming'],
  '153':  ['array','binary-search'],
  '154':  ['array','binary-search'],
  '155':  ['stack','design'],
  '156':  ['tree'],
  '157':  ['string'],
  '158':  ['string'],
  '159':  ['hash-table','two-pointers','string','sliding-window'],
  '160':  ['linked-list'],
  '161':  ['string'],
  '162':  ['array','binary-search'],
  '163':  ['array'],
  '164':  ['sort'],
  '165':  ['string'],
  '166':  ['hash-table','math'],
  '167':  ['array','two-pointers','binary-search'],
  '168':  ['math'],
  '169':  ['array','divide-and-conquer','bit-manipulation'],
  '170':  ['hash-table','design'],
  '171':  ['math'],
  '172':  ['math'],
  '173':  ['stack','tree','design'],
  '174':  ['binary-search','dynamic-programming'],
  '179':  ['sort'],
  '186':  ['string'],
  '187':  ['hash-table','bit-manipulation'],
  '188':  ['dynamic-programming'],
  '189':  ['array'],
  '190':  ['bit-manipulation'],
  '191':  ['bit-manipulation'],
  '198':  ['dynamic-programming'],
  '199':  ['tree','depth-first-search','breadth-first-search'],
  '200':  ['depth-first-search','breadth-first-search','union-find'],
  '201':  ['bit-manipulation'],
  '202':  ['hash-table','math'],
  '203':  ['linked-list'],
  '204':  ['hash-table','math'],
  '205':  ['hash-table'],
  '206':  ['linked-list'],
  '207':  ['depth-first-search','breadth-first-search','graph','topological-sort'],
  '208':  ['design','trie'],
  '209':  ['array','two-pointers','binary-search'],
  '210':  ['depth-first-search','breadth-first-search','graph','topological-sort'],
  '211':  ['backtracking','design','trie'],
  '212':  ['backtracking','trie'],
  '213':  ['dynamic-programming'],
  '214':  ['string'],
  '215':  ['divide-and-conquer','heap'],
  '216':  ['array','backtracking'],
  '217':  ['array','hash-table'],
  '218':  ['divide-and-conquer','heap','binary-indexed-tree','segment-tree','line-sweep'],
  '219':  ['array','hash-table'],
  '220':  ['sort','ordered-map'],
  '221':  ['dynamic-programming'],
  '222':  ['binary-search','tree'],
  '223':  ['math'],
  '224':  ['math','stack'],
  '225':  ['stack','design'],
  '226':  ['tree'],
  '227':  ['string'],
  '228':  ['array'],
  '229':  ['array'],
  '230':  ['binary-search','tree'],
  '231':  ['math','bit-manipulation'],
  '232':  ['stack','design'],
  '233':  ['math'],
  '234':  ['linked-list','two-pointers'],
  '235':  ['tree'],
  '236':  ['tree'],
  '237':  ['linked-list'],
  '238':  ['array'],
  '239':  ['heap','sliding-window'],
  '240':  ['binary-search','divide-and-conquer'],
  '241':  ['divide-and-conquer'],
  '242':  ['hash-table','sort'],
  '243':  ['array'],
  '244':  ['hash-table','design'],
  '245':  ['array'],
  '246':  ['hash-table','math'],
  '247':  ['math','recursion'],
  '248':  ['math','recursion'],
  '249':  ['hash-table','string'],
  '250':  ['tree'],
  '251':  ['design'],
  '252':  ['sort'],
  '253':  ['heap','greedy','sort'],
  '254':  ['backtracking'],
  '255':  ['stack','tree'],
  '256':  ['dynamic-programming'],
  '257':  ['tree','depth-first-search'],
  '258':  ['math'],
  '259':  ['array','two-pointers'],
  '260':  ['bit-manipulation'],
  '261':  ['depth-first-search','breadth-first-search','union-find','graph'],
  '263':  ['math'],
  '264':  ['math','dynamic-programming','heap'],
  '265':  ['dynamic-programming'],
  '266':  ['hash-table'],
  '267':  ['backtracking'],
  '268':  ['array','math','bit-manipulation'],
  '269':  ['graph','topological-sort'],
  '270':  ['binary-search','tree'],
  '271':  ['string'],
  '272':  ['stack','tree'],
  '273':  ['math','string'],
  '274':  ['hash-table','sort'],
  '275':  ['binary-search'],
  '276':  ['dynamic-programming'],
  '277':  ['array'],
  '278':  ['binary-search'],
  '279':  ['math','dynamic-programming','breadth-first-search'],
  '280':  ['array','sort'],
  '281':  ['design'],
  '282':  ['divide-and-conquer'],
  '283':  ['array','two-pointers'],
  '284':  ['design'],
  '285':  ['tree'],
  '286':  ['breadth-first-search'],
  '287':  ['array','two-pointers','binary-search'],
  '288':  ['hash-table','design'],
  '289':  ['array'],
  '290':  ['hash-table'],
  '291':  ['backtracking'],
  '292':  ['brainteaser','minimax'],
  '293':  ['string'],
  '294':  ['backtracking','minimax'],
  '295':  ['heap','design'],
  '296':  ['math','sort'],
  '297':  ['tree','design'],
  '298':  ['tree'],
  '299':  ['hash-table'],
  '300':  ['binary-search','dynamic-programming'],
  '301':  ['depth-first-search','breadth-first-search'],
  '302':  ['binary-search'],
  '303':  ['dynamic-programming'],
  '304':  ['dynamic-programming'],
  '305':  ['union-find'],
  '306':  ['backtracking'],
  '307':  ['binary-indexed-tree','segment-tree'],
  '308':  ['binary-indexed-tree','segment-tree'],
  '309':  ['dynamic-programming'],
  '310':  ['breadth-first-search','graph'],
  '311':  ['hash-table'],
  '312':  ['divide-and-conquer','dynamic-programming'],
  '313':  ['math','heap'],
  '314':  ['hash-table'],
  '315':  ['binary-search','divide-and-conquer','sort','binary-indexed-tree','segment-tree'],
  '316':  ['stack','greedy'],
  '317':  ['breadth-first-search'],
  '318':  ['bit-manipulation'],
  '319':  ['math','brainteaser'],
  '320':  ['backtracking','bit-manipulation'],
  '321':  ['dynamic-programming','greedy'],
  '322':  ['dynamic-programming'],
  '323':  ['depth-first-search','breadth-first-search','union-find','graph'],
  '324':  ['sort'],
  '325':  ['hash-table'],
  '326':  ['math'],
  '327':  ['binary-search','divide-and-conquer','sort','binary-indexed-tree','segment-tree'],
  '328':  ['linked-list'],
  '329':  ['depth-first-search','topological-sort','memoization'],
  '330':  ['greedy'],
  '331':  ['stack'],
  '332':  ['depth-first-search','graph'],
  '333':  ['tree'],
  '335':  ['math'],
  '336':  ['hash-table','string','trie'],
  '337':  ['tree','depth-first-search'],
  '338':  ['dynamic-programming','bit-manipulation'],
  '339':  ['depth-first-search'],
  '340':  ['hash-table','string','sliding-window'],
  '341':  ['stack','design'],
  '342':  ['bit-manipulation'],
  '343':  ['math','dynamic-programming'],
  '344':  ['two-pointers','string'],
  '345':  ['two-pointers','string'],
  '346':  ['design','queue'],
  '347':  ['hash-table','heap'],
  '348':  ['design'],
  '349':  ['hash-table','two-pointers','binary-search','sort'],
  '350':  ['hash-table','two-pointers','binary-search','sort'],
  '351':  ['dynamic-programming','backtracking'],
  '352':  ['binary-search','ordered-map'],
  '353':  ['design','queue'],
  '354':  ['binary-search','dynamic-programming'],
  '355':  ['hash-table','heap','design'],
  '356':  ['hash-table','math'],
  '357':  ['math','dynamic-programming','backtracking'],
  '358':  ['hash-table','heap','greedy'],
  '359':  ['hash-table','design'],
  '360':  ['math','two-pointers'],
  '361':  ['dynamic-programming'],
  '362':  ['design'],
  '363':  ['binary-search','dynamic-programming','queue'],
  '364':  ['depth-first-search'],
  '365':  ['math'],
  '366':  ['tree','depth-first-search'],
  '367':  ['math','binary-search'],
  '368':  ['math','dynamic-programming'],
  '369':  ['linked-list'],
  '370':  ['array'],
  '371':  ['bit-manipulation'],
  '372':  ['math'],
  '373':  ['heap'],
  '374':  ['binary-search'],
  '375':  ['dynamic-programming','minimax'],
  '376':  ['dynamic-programming','greedy'],
  '377':  ['dynamic-programming'],
  '378':  ['binary-search','heap'],
  '379':  ['linked-list','design'],
  '380':  ['array','hash-table','design'],
  '381':  ['array','hash-table','design'],
  '382':  ['reservoir-sampling'],
  '383':  ['string'],
  '385':  ['string','stack'],
  '387':  ['hash-table','string'],
  '389':  ['hash-table','bit-manipulation'],
  '391':  ['line-sweep'],
  '392':  ['binary-search','dynamic-programming','greedy'],
  '393':  ['bit-manipulation'],
  '394':  ['stack','depth-first-search'],
  '396':  ['math'],
  '397':  ['math','bit-manipulation'],
  '398':  ['reservoir-sampling'],
  '399':  ['union-find','graph'],
  '400':  ['math'],
  '401':  ['backtracking','bit-manipulation'],
  '402':  ['stack','greedy'],
  '403':  ['dynamic-programming'],
  '404':  ['tree'],
  '405':  ['bit-manipulation'],
  '406':  ['greedy'],
  '407':  ['heap','breadth-first-search'],
  '408':  ['string'],
  '409':  ['hash-table'],
  '410':  ['binary-search','dynamic-programming'],
  '411':  ['backtracking','bit-manipulation'],
  '413':  ['math','dynamic-programming'],
  '414':  ['array'],
  '415':  ['string'],
  '416':  ['dynamic-programming'],
  '417':  ['depth-first-search','breadth-first-search'],
  '418':  ['dynamic-programming'],
  '421':  ['bit-manipulation','trie'],
  '423':  ['math'],
  '424':  ['two-pointers','sliding-window'],
  '425':  ['backtracking','trie'],
  '432':  ['design'],
  '434':  ['string'],
  '435':  ['greedy'],
  '436':  ['binary-search'],
  '437':  ['tree'],
  '438':  ['hash-table'],
  '439':  ['stack','depth-first-search'],
  '441':  ['math','binary-search'],
  '442':  ['array'],
  '443':  ['string'],
  '444':  ['graph','topological-sort'],
  '445':  ['linked-list'],
  '446':  ['dynamic-programming'],
  '447':  ['hash-table'],
  '448':  ['array'],
  '449':  ['tree'],
  '450':  ['tree'],
  '451':  ['hash-table','heap'],
  '452':  ['greedy'],
  '453':  ['math'],
  '454':  ['hash-table','binary-search'],
  '455':  ['greedy'],
  '456':  ['stack'],
  '457':  ['array','two-pointers'],
  '458':  ['math'],
  '459':  ['string'],
  '460':  ['design'],
  '461':  ['bit-manipulation'],
  '462':  ['math'],
  '463':  ['hash-table'],
  '464':  ['dynamic-programming','minimax'],
  '466':  ['dynamic-programming'],
  '467':  ['dynamic-programming'],
  '468':  ['string'],
  '469':  ['math'],
  '471':  ['dynamic-programming'],
  '472':  ['dynamic-programming','depth-first-search','trie'],
  '473':  ['depth-first-search'],
  '474':  ['dynamic-programming'],
  '475':  ['binary-search'],
  '476':  ['bit-manipulation'],
  '477':  ['bit-manipulation'],
  '480':  ['sliding-window'],
  '483':  ['math','binary-search'],
  '484':  ['greedy'],
  '485':  ['array'],
  '486':  ['dynamic-programming','minimax'],
  '487':  ['two-pointers'],
  '488':  ['depth-first-search'],
  '490':  ['depth-first-search','breadth-first-search'],
  '491':  ['depth-first-search'],
  '493':  ['binary-search','divide-and-conquer','sort','binary-indexed-tree','segment-tree'],
  '494':  ['dynamic-programming','depth-first-search'],
  '495':  ['array'],
  '496':  ['stack'],
  '499':  ['depth-first-search','breadth-first-search'],
  '500':  ['hash-table'],
  '501':  ['tree'],
  '502':  ['heap','greedy'],
  '503':  ['stack'],
  '505':  ['depth-first-search','breadth-first-search'],
  '507':  ['math'],
  '508':  ['hash-table','tree'],
  '509':  ['tree'],
  '511':  ['depth-first-search','graph'],
  '513':  ['tree','depth-first-search','breadth-first-search'],
  '514':  ['divide-and-conquer','dynamic-programming','depth-first-search'],
  '515':  ['tree','depth-first-search','breadth-first-search'],
  '516':  ['dynamic-programming'],
  '517':  ['math','dynamic-programming'],
  '520':  ['string'],
  '521':  ['string'],
  '522':  ['string'],
  '523':  ['math','dynamic-programming'],
  '524':  ['two-pointers','sort'],
  '525':  ['hash-table'],
  '526':  ['backtracking'],
  '527':  ['string','sort'],
  '529':  ['depth-first-search','breadth-first-search'],
  '530':  ['tree'],
  '531':  ['array','depth-first-search'],
  '532':  ['array','two-pointers'],
  '533':  ['array','depth-first-search'],
  '535':  ['hash-table','math'],
  '536':  ['string','tree'],
  '537':  ['math','string'],
  '538':  ['tree'],
  '539':  ['string'],
  '541':  ['string'],
  '542':  ['depth-first-search','breadth-first-search'],
  '543':  ['tree'],
  '544':  ['string','recursion'],
  '545':  ['tree'],
  '546':  ['dynamic-programming','depth-first-search'],
  '547':  ['depth-first-search','union-find'],
  '548':  ['array'],
  '549':  ['tree'],
  '551':  ['string'],
  '552':  ['dynamic-programming'],
  '553':  ['math','string'],
  '554':  ['hash-table'],
  '555':  ['string'],
  '556':  ['string'],
  '557':  ['string'],
  '560':  ['array','hash-table'],
  '561':  ['array'],
  '562':  ['array'],
  '563':  ['tree'],
  '564':  ['string'],
  '565':  ['array'],
  '566':  ['array'],
  '567':  ['two-pointers','sliding-window'],
  '568':  ['dynamic-programming'],
  '572':  ['tree'],
  '573':  ['math'],
  '575':  ['hash-table'],
  '576':  ['dynamic-programming','depth-first-search'],
  '581':  ['array'],
  '582':  ['tree','queue'],
  '583':  ['string'],
  '587':  ['geometry'],
  '588':  ['design'],
  '591':  ['string','stack'],
  '592':  ['math'],
  '593':  ['math'],
  '594':  ['hash-table'],
  '598':  ['math'],
  '599':  ['hash-table'],
  '600':  ['dynamic-programming'],
  '604':  ['design'],
  '605':  ['array'],
  '606':  ['string','tree'],
  '609':  ['hash-table','string'],
  '611':  ['array'],
  '616':  ['string'],
  '617':  ['tree'],
  '621':  ['array','greedy','queue'],
  '623':  ['tree'],
  '624':  ['array','hash-table'],
  '625':  ['math','recursion'],
  '628':  ['array','math'],
  '629':  ['dynamic-programming'],
  '630':  ['greedy'],
  '631':  ['design'],
  '632':  ['hash-table','two-pointers','string'],
  '633':  ['math'],
  '634':  ['math'],
  '635':  ['string','design'],
  '636':  ['stack'],
  '637':  ['tree'],
  '638':  ['dynamic-programming','depth-first-search'],
  '639':  ['dynamic-programming'],
  '640':  ['math'],
  '642':  ['design','trie'],
  '643':  ['array'],
  '644':  ['array','binary-search'],
  '645':  ['hash-table','math'],
  '646':  ['dynamic-programming'],
  '647':  ['string','dynamic-programming'],
  '648':  ['hash-table','trie'],
  '649':  ['greedy'],
  '650':  ['dynamic-programming'],
  '651':  ['math','dynamic-programming','greedy'],
  '652':  ['tree'],
  '653':  ['tree'],
  '654':  ['tree'],
  '655':  ['tree'],
  '656':  ['dynamic-programming'],
  '657':  ['string'],
  '658':  ['binary-search'],
  '659':  ['heap','greedy'],
  '660':  ['math'],
  '661':  ['array'],
  '662':  ['tree'],
  '663':  ['tree'],
  '664':  ['dynamic-programming','depth-first-search'],
  '665':  ['array'],
  '666':  ['tree'],
  '667':  ['array'],
  '668':  ['binary-search'],
  '669':  ['tree'],
  '670':  ['array','math'],
  '671':  ['tree'],
  '672':  ['math'],
  '673':  ['dynamic-programming'],
  '674':  ['array'],
  '675':  ['breadth-first-search'],
  '676':  ['hash-table','trie'],
  '677':  ['trie'],
  '678':  ['string'],
  '679':  ['depth-first-search'],
  '680':  ['string'],
  '681':  ['string'],
  '682':  ['stack'],
  '683':  ['ordered-map'],
  '684':  ['tree','union-find','graph'],
  '685':  ['tree','depth-first-search','union-find','graph'],
  '686':  ['string'],
  '687':  ['tree','recursion'],
  '688':  ['dynamic-programming'],
  '689':  ['array','dynamic-programming'],
  '690':  ['hash-table','depth-first-search','breadth-first-search'],
  '691':  ['dynamic-programming','backtracking'],
  '692':  ['hash-table','heap','trie'],
  '693':  ['bit-manipulation'],
  '694':  ['hash-table','depth-first-search'],
  '695':  ['array','depth-first-search'],
  '696':  ['string'],
  '697':  ['array'],
  '698':  ['dynamic-programming','recursion'],
  '699':  ['segment-tree','ordered-map'],
  '711':  ['hash-table','depth-first-search'],
  '712':  ['dynamic-programming'],
  '713':  ['array','two-pointers'],
  '714':  ['array','dynamic-programming','greedy'],
  '715':  ['segment-tree','ordered-map'],
  '716':  ['design'],
  '717':  ['array'],
  '718':  ['array','hash-table','binary-search','dynamic-programming'],
  '719':  ['array','binary-search','heap'],
  '720':  ['hash-table','trie'],
  '721':  ['depth-first-search','union-find'],
  '722':  ['string'],
  '723':  ['array','two-pointers'],
  '724':  ['array'],
  '725':  ['linked-list'],
  '726':  ['hash-table','stack','recursion'],
  '727':  ['dynamic-programming','sliding-window'],
  '728':  ['math'],
  '729':  ['array'],
  '730':  ['string','dynamic-programming'],
  '731':  ['ordered-map'],
  '732':  ['segment-tree','ordered-map'],
  '733':  ['depth-first-search'],
  '734':  ['hash-table'],
  '735':  ['stack'],
  '736':  ['string'],
  '737':  ['depth-first-search','union-find'],
  '738':  ['greedy'],
  '739':  ['hash-table','stack'],
  '740':  ['dynamic-programming'],
  '741':  ['dynamic-programming'],
  '742':  ['string'],
  '743':  ['tree'],
  '744':  ['heap','depth-first-search','breadth-first-search','graph'],
  '745':  ['binary-search'],
  '746':  ['trie'],
  '747':  ['array','dynamic-programming'],
  '748':  ['array'],
  '749':  ['hash-table'],
  '750':  ['depth-first-search'],
  '751':  ['dynamic-programming'],
  '752':  ['bit-manipulation'],
  '753':  ['breadth-first-search'],
  '754':  ['math','depth-first-search'],
  '755':  ['math'],
  '756':  ['array'],
  '757':  ['bit-manipulation','depth-first-search'],
  '758':  ['linked-list','divide-and-conquer','tree'],
  '759':  ['greedy'],
  '760':  ['string'],
  '761':  ['heap','greedy'],
  '762':  ['hash-table'],
  '763':  ['string','recursion'],
  '764':  ['tree','breadth-first-search'],
  '765':  ['tree'],
  '766':  ['linked-list','depth-first-search'],
  '767':  ['bit-manipulation'],
  '768':  ['two-pointers','greedy'],
  '769':  ['dynamic-programming'],
  '770':  ['greedy','union-find','graph'],
  '771':  ['tree'],
  '774':  ['tree','depth-first-search','breadth-first-search'],
  '775':  ['tree'],
  '776':  ['tree'],
  '777':  ['array'],
  '778':  ['string','heap','greedy','sort'],
  '779':  ['array'],
  '780':  ['array'],
  '781':  ['hash-table','string','stack'],
  '782':  ['hash-table'],
  '783':  ['tree'],
  '784':  ['tree'],
  '785':  ['string','stack'],
  '786':  ['binary-search'],
  '787':  ['breadth-first-search'],
  '788':  ['binary-search'],
  '789':  ['heap'],
  '790':  ['array','math'],
  '791':  ['tree','recursion'],
  '792':  ['binary-search'],
  '793':  ['brainteaser'],
  '794':  ['binary-search','heap','depth-first-search','union-find'],
  '795':  ['recursion'],
  '796':  ['math'],
  '797':  ['hash-table','math'],
  '798':  ['array','math'],
  '799':  ['tree','recursion'],
  '800':  ['backtracking','bit-manipulation'],
  '801':  ['depth-first-search','breadth-first-search','graph'],
  '802':  ['binary-search','heap'],
  '803':  ['dynamic-programming','heap','breadth-first-search'],
  '804':  ['string'],
  '805':  ['math'],
  '806':  ['dynamic-programming'],
  '807':  ['string'],
  '808':  ['array'],
  '809':  ['binary-search'],
  '810':  ['math','recursion'],
  '811':  ['array'],
  '816':  ['hash-table','design'],
  '817':  ['hash-table','design'],
  '818':  ['math','string'],
  '819':  ['dynamic-programming'],
  '820':  ['depth-first-search','graph'],
  '821':  ['union-find'],
  '822':  ['string'],
  '823':  ['math'],
  '826':  ['dynamic-programming'],
  '827':  ['string'],
  '828':  ['math'],
  '829':  ['hash-table'],
  '830':  ['math'],
  '831':  ['dynamic-programming'],
  '832':  ['tree'],
  '833':  ['breadth-first-search'],
  '834':  ['string'],
  '835':  ['linked-list'],
  '836':  ['dynamic-programming','heap'],
  '837':  ['string'],
  '838':  ['linked-list','design'],
  '850':  ['linked-list'],
  '851':  ['string'],
  '852':  ['array'],
  '853':  ['two-pointers'],
  '854':  ['depth-first-search'],
  '855':  ['two-pointers'],
  '856':  ['math'],
  '857':  ['array'],
  '858':  ['string'],
  '859':  ['design','queue'],
  '860':  ['design','queue'],
  '861':  ['array'],
  '862':  ['string'],
  '863':  ['tree','depth-first-search'],
  '864':  ['array'],
  '865':  ['depth-first-search'],
  '866':  ['math'],
  '867':  ['dynamic-programming'],
  '868':  ['two-pointers','dynamic-programming'],
  '869':  ['depth-first-search','union-find','graph'],
  '870':  ['array'],
  '871':  ['depth-first-search','graph'],
  '872':  ['string','backtracking','greedy'],
  '873':  ['minimax'],
  '874':  ['two-pointers','stack'],
  '875':  ['two-pointers'],
  '876':  ['ordered-map'],
  '877':  ['dynamic-programming','breadth-first-search'],
  '878':  ['string'],
  '879':  ['array'],
  '880':  ['segment-tree','line-sweep'],
  '881':  ['depth-first-search'],
  '882':  ['binary-search'],
  '883':  ['sort'],
  '884':  ['breadth-first-search','graph'],
  '885':  ['ordered-map'],
  '886':  ['string','stack'],
  '887':  ['heap'],
  '888':  ['math'],
  '889':  ['string'],
  '890':  ['greedy'],
  '891':  ['greedy'],
  '892':  ['binary-search','queue'],
  '893':  ['tree','depth-first-search','breadth-first-search'],
  '894':  ['hash-table','binary-search','sort','random'],
  '895':  ['heap','breadth-first-search'],
  '896':  ['tree'],
  '897':  ['math'],
  '898':  ['array'],
  '899':  ['math'],
  '900':  ['math'],
  '901':  ['array','greedy'],
  '902':  ['dynamic-programming','heap'],
  '903':  ['random','rejection-sampling'],
  '904':  ['tree','depth-first-search'],
  '905':  ['array','dynamic-programming'],
  '906':  ['greedy'],
  '907':  ['binary-search'],
  '908':  ['linked-list'],
  '909':  ['math','dynamic-programming','minimax'],
  '910':  ['math','binary-search'],
  '911':  ['dynamic-programming'],
  '912':  ['binary-search','random'],
  '913':  ['random'],
  '914':  ['binary-search','random'],
  '915':  ['math','random','rejection-sampling'],
  '916':  ['stack'],
  '917':  ['two-pointers','greedy'],
  '918':  ['heap'],
  '919':  ['math'],
  '920':  ['hash-table'],
  '921':  ['math'],
  '922':  ['depth-first-search'],
  '923':  ['math','binary-search','dynamic-programming'],
  '924':  ['array'],
  '925':  ['tree'],
  '926':  ['string'],
  '927':  ['array','math'],
  '928':  ['math','geometry'],
  '929':  ['string'],
  '930':  ['tree','recursion'],
  '931':  ['hash-table','stack'],
  '932':  ['array'],
  '933':  ['tree','depth-first-search'],
  '934':  ['dynamic-programming','bit-manipulation'],
  '935':  ['math','string'],
  '936':  ['array'],
  '937':  ['stack'],
  '938':  ['math','dynamic-programming'],
  '939':  ['divide-and-conquer','dynamic-programming'],
  '940':  ['two-pointers'],
  '941':  ['array'],
  '942':  ['math'],
  '943':  ['array','stack'],
  '944':  ['math'],
  '945':  ['breadth-first-search'],
  '946':  ['math','greedy'],
  '947':  ['binary-search'],
  '949':  ['breadth-first-search','minimax'],
  '950':  ['array','math'],
  '951':  ['array'],
  '952':  ['string'],
  '953':  ['string'],
  '954':  ['array'],
  '955':  ['tree'],
  '956':  ['dynamic-programming'],
  '957':  ['stack','greedy'],
  '958':  ['array','sort'],
  '959':  ['two-pointers'],
  '960':  ['depth-first-search','union-find'],
  '961':  ['two-pointers','string'],
  '962':  ['array'],
  '963':  ['math','binary-search','greedy'],
  '964':  ['depth-first-search','union-find','graph'],
  '965':  ['string'],
  '966':  ['hash-table','two-pointers'],
  '967':  ['dynamic-programming'],
  '968':  ['divide-and-conquer'],
  '969':  ['queue'],
  '971':  ['depth-first-search','breadth-first-search'],
  '972':  ['dynamic-programming'],
  '973':  ['string','greedy'],
  '974':  ['string'],
  '975':  ['tree','recursion'],
  '976':  ['hash-table'],
  '977':  ['dynamic-programming'],
  '978':  ['array'],
  '979':  ['math'],
  '980':  ['dynamic-programming'],
  '981':  ['greedy'],
  '982':  ['array'],
  '983':  ['stack'],
  '984':  ['depth-first-search','union-find'],
  '985':  ['greedy'],
  '986':  ['math'],
  '987':  ['array'],
  '988':  ['tree'],
  '989':  ['math','union-find'],
  '990':  ['hash-table'],
  '991':  ['array','hash-table'],
  '992':  ['greedy'],
  '993':  ['dynamic-programming'],
  '994':  ['hash-table'],
  '998':  ['tree'],
  '999':  ['depth-first-search','union-find','graph'],
  '1000': ['dynamic-programming'],
  '1001': ['hash-table'],
  '1002': ['array'],
  '1003': ['math','geometry'],
  '1004': ['math','dynamic-programming'],
  '1005': ['tree'],
  '1006': ['hash-table','string'],
  '1007': ['dynamic-programming'],
  '1008': ['dynamic-programming','tree','depth-first-search'],
  '1009': ['array','sort'],
  '1010': ['hash-table','math'],
  '1011': ['tree','depth-first-search'],
  '1012': ['math'],
  '1013': ['array'],
  '1014': ['divide-and-conquer','heap','sort'],
  '1016': ['array','hash-table'],
  '1017': ['dynamic-programming','stack','ordered-map'],
  '1018': ['math','sort'],
  '1019': ['array','two-pointers'],
  '1020': ['array','dynamic-programming','sliding-window'],
  '1021': ['tree','depth-first-search'],
  '1022': ['backtracking','depth-first-search'],
  '1023': ['hash-table','binary-search'],
  '1024': ['dynamic-programming'],
  '1025': ['dynamic-programming'],
  '1026': ['greedy'],
  '1027': ['array'],
  '1028': ['two-pointers'],
  '1029': ['hash-table','tree'],
  '1030': ['tree','depth-first-search'],
  '1031': ['array'],
  '1032': ['union-find','graph'],
  '1033': ['math','greedy'],
  '1034': ['hash-table','two-pointers','sliding-window'],
  '1035': ['tree','breadth-first-search'],
  '1036': ['breadth-first-search'],
  '1037': ['greedy','sliding-window'],
  '1038': ['math','backtracking','graph'],
  '1039': ['graph'],
  '1040': ['tree'],
  '1041': ['array'],
  '1042': ['dynamic-programming'],
  '1043': ['hash-table'],
  '1044': ['array','hash-table'],
  '1045': ['string','stack'],
  '1046': ['two-pointers','sliding-window'],
  '1047': ['greedy'],
  '1048': ['math'],
  '1049': ['array','greedy'],
  '1050': ['tree'],
  '1051': ['dynamic-programming','greedy'],
  '1052': ['greedy','sort'],
  '1053': ['math','dynamic-programming','greedy'],
  '1054': ['math'],
  '1055': ['array'],
  '1056': ['array','binary-search'],
  '1057': ['math','dynamic-programming'],
  '1058': ['depth-first-search','union-find'],
  '1059': ['binary-search'],
  '1060': ['string'],
  '1061': ['stack'],
  '1062': ['array'],
  '1063': ['array'],
  '1064': ['math'],
  '1065': ['string'],
  '1066': ['array','binary-search'],
  '1067': ['dynamic-programming','backtracking'],
  '1068': ['math','dynamic-programming'],
  '1069': ['math'],
  '1070': ['math'],
  '1071': ['array'],
  '1072': ['linked-list','stack'],
  '1073': ['depth-first-search'],
  '1075': ['string','trie'],
  '1078': ['stack'],
  '1079': ['tree'],
  '1080': ['string','trie'],
  '1081': ['dynamic-programming'],
  '1086': ['math','dynamic-programming'],
  '1087': ['dynamic-programming'],
  '1092': ['tree','depth-first-search'],
  '1093': ['tree','depth-first-search'],
  '1094': ['sort'],
  '1095': ['greedy'],
  '1096': ['array'],
  '1097': ['trie'],
  '1103': ['brainteaser'],
  '1104': ['depth-first-search'],
  '1105': ['array'],
  '1106': ['breadth-first-search'],
  '1111': ['dynamic-programming'],
  '1113': ['array','sliding-window'],
  '1114': ['binary-search-tree'],
  '1115': ['math'],
  '1119': ['math'],
  '1120': ['graph'],
  '1121': ['graph'],
  '1122': ['hash-table','binary-search'],
  '1127': ['heap','greedy'],
  '1128': ['stack'],
  '1129': ['hash-table','dynamic-programming'],
  '1130': ['dynamic-programming'],
  '1137': ['array'],
  '1138': ['array','sliding-window'],
  '1139': ['array','greedy'],
  '1140': ['heap','sort'],
  '1145': ['array','dynamic-programming','sliding-window'],
  '1146': ['string'],
  '1147': ['hash-table'],
  '1148': ['math']
};

plugin.getProblems = function(needTranslation, cb) {
  plugin.next.getProblems(needTranslation, function(e, problems) {
    if (e) return cb(e);

    problems.forEach(function(problem) {
      var id = String(problem.id);
      if (id in COMPONIES) {
        problem.companies = (problem.companies || []).concat(COMPONIES[id]);
      }
      if (id in TAGS) {
        problem.tags = (problem.tags || []).concat(TAGS[id]);
      }
    });
    return cb(null, problems);
  });
};

module.exports = plugin;
